TreeView Control - Editing Labels

Editing Labels

The easiest way for the users to edit the labels (the text for each node) during run time is to set the TreeView control's LabelEdit property to tvwAutomatic. Now, like in explorer, when the item is clicked once, you can edit its caption

By using the AfterLabelEdit event, you can check that the new caption is valid, and that it is not empty:

Private Sub TreeView1_AfterLabelEdit(Cancel As Integer, NewString As String)
    If NewString = Empty Then
        '// new string is empty
        Msgbox "Please enter a new name"
        '// cancel edit
        Cancel = -1
    Else
        '// string ok
    End If
End Sub

There is also an BeforeLabelEdit event that occurs before the item is edited. You can use this to prevent the root item being edited, for example:

Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)
    If TreeView1.SelectedItem.Key = "root" Then
        '// item is root item
        Msgbox "You cannot edit the root items name"
        '// cancel edit
        Cancel = -1
    End If
End Sub

James first started writing tutorials on Visual Basic in 1999 whilst starting this website (then known as VB Web). Since then, the site has grown rapidly, and James has written numerous tutorials, articles and reviews on VB, PHP, ASP and C#. In October 2003, James formed the company Developer Fusion Ltd, which owns this website, and also offers various development services. In his spare time, he's a 3rd year undergraduate studying Computer Science in the UK. He's also a Visual Basic MVP.